<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>

</body>
<script>
  // 1.语法 ()=>{}  =>一体的
  let fn = (x) => {
    return x
  }
  // 2.一个参数的时候，可以省略括号() x=>{}
  let foo = val => {
    return val
  }
  console.log(foo('李唯一'))

  // 如果你的执行程序就一行代码 {} return可以省略
  let sum = x => x + 1
  console.log(sum(10))


  // filter
  let list = [{
    name: "李唯一",
    age: "18",
    like: "姜宁,左丘红婷"
  }, {
    name: "姜宁",
    age: "19",
    like: "李唯一"
  }, {
    name: "左丘红婷",
    age: "20",
    like: "李唯一"
  }]

  let data = list.filter(item => item.age > 18)
  console.log(data)
  // 箭头函数一般用在 匿名函数作为回调函数去使用 不能构造函数 因为箭头函数没有this,所以在箭头函数里使用this，是上一级的this（一级一级往上找，直到最顶层window）

  let obj = {
    name: '李唯一',
    desc: () => {
      console.log(this, '----------------desc') //window
    },
    like: function () {
      console.log(this, 'like----------') //obj 不是箭头函数
      let fn = () => {
        console.log(this, 'fn------------') //obj  fn->like(like存在this为obj0)->obj
      }
      fn()
    }
  }

  obj.desc()//window
  obj.like()
</script>

</html>